package com.flyco.modules.oms.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.flyco.poi.excel.annotation.Excel;

/**
 * @Description: 订单设置
 * @Author: flyco
 * @Date:   2019-12-20
 * @Version: V1.0
 */
@Data
@TableName("oms_order_setting")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="oms_order_setting对象", description="订单设置")
public class OmsOrderSetting {

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
	private Integer id;
	/**秒杀订单超时关闭时间(分)*/
	@Excel(name = "秒杀订单超时关闭时间(分)", width = 15)
    @ApiModelProperty(value = "秒杀订单超时关闭时间(分)")
	private Integer flashOrderOvertime;
	/**正常订单超时时间(分)*/
	@Excel(name = "正常订单超时时间(小时)", width = 15)
    @ApiModelProperty(value = "正常订单超时时间(小时)")
	private Integer normalOrderOvertime;
	/**发货后自动确认收货时间（天）*/
	@Excel(name = "发货后自动确认收货时间（天）", width = 15)
    @ApiModelProperty(value = "发货后自动确认收货时间（天）")
	private Integer confirmOvertime;
	/**自动完成交易时间，不能申请售后（天）*/
	@Excel(name = "自动完成交易时间，不能申请售后（天）", width = 15)
    @ApiModelProperty(value = "自动完成交易时间，不能申请售后（天）")
	private Integer finishOvertime;
	/**订单完成后自动好评时间（天）*/
	@Excel(name = "订单完成后自动好评时间（天）", width = 15)
    @ApiModelProperty(value = "订单完成后自动好评时间（天）")
	private Integer commentOvertime;
	@ApiModelProperty(value = "普通用户一单最大购买数量")
	private Integer normalOrderGoodsMaxCount;
	@ApiModelProperty(value = "大额用户一单最大购买数量")
	private Integer vipOrderGoodsMaxCount;
	@ApiModelProperty(value = "当天未付款订单数(目前只要有一单支付,并且金额大于等于order_pay_min_amount,就不看该数据)")
	private Integer noPayOrderCount;
	@ApiModelProperty(value = "取消未付款订单限制最小支付金额")
	private BigDecimal orderPayMinAmount;
	@ApiModelProperty(value = "内部购每个员工每个月限制购买商品数量")
	private Integer innerBuyLimitMemberPerMonth;
	@ApiModelProperty(value = "内部购每个月限制购买商品数量")
	private Integer innerBuyLimitPerMonth;
	@ApiModelProperty(value = "内购包邮门槛")
	private BigDecimal innerOrderMinPoint;
	@ApiModelProperty(value = "内购运费")
	private BigDecimal innerOrderFreightAmount;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**更新人*/
	@Excel(name = "更新人", width = 15)
    @ApiModelProperty(value = "更新人")
	private String updateBy;
	/**更新时间*/
	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	private Date updateTime;

	@ApiModelProperty(value = "退货限制时间(天)")
	private Integer returnsOvertime;

	@ApiModelProperty(value = "下单是否判断库存 1 是  0 否 ")
	private Integer limitStockFlag;

	@ApiModelProperty(value = "下单是否判断最小下单金额和箱数 1 是  0 否")
	private Integer limitMinOrderFlag;

	@ApiModelProperty(value = "开启短信提醒 1 是  0 否")
	private Integer enableSms;

	@ApiModelProperty(value = "开启微信提醒 1 是  0 否")
	private Integer enableWx;

	@ApiModelProperty(value = "价格折扣配置")
	private String priceDiscount;

	/**是否允许余额不足审核订单(0.不允许 1.允许)*/
	@Excel(name = "是否允许余额不足审核订单(0.不允许 1.允许)", width = 15)
	@ApiModelProperty(value = "是否允许余额不足审核订单(0.不允许 1.允许)")
	private java.lang.Integer orderAuditBalanceFlag;
	/**是否允许无库存下单(0.不允许 1.允许)*/
	@Excel(name = "是否允许无库存下单(0.不允许 1.允许)", width = 15)
	@ApiModelProperty(value = "是否允许无库存下单(0.不允许 1.允许)")
	private java.lang.Integer orderCreateStockFlag;
	/**是否允许无库存审核订单(0.不允许 1.允许)*/
	@Excel(name = "是否允许无库存审核订单(0.不允许 1.允许)", width = 15)
	@ApiModelProperty(value = "是否允许无库存审核订单(0.不允许 1.允许)")
	private java.lang.Integer orderAuditStockFlag;
	/**最大折扣比例*/
	@Excel(name = "最大折扣比例", width = 15)
	@ApiModelProperty(value = "最大折扣比例")
	private java.math.BigDecimal discountLimit;

	@ApiModelProperty(value = "订单审核反审是否推SAP(测试使用)")
	private Integer toSapFlag;

	@ApiModelProperty(value = "是否允许订单结案")
	private Integer orderCloseFlag;
}
